package com.example.controller;


import com.example.model.WxbMemeber;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/login")
public class LoginController {

    @RequestMapping("/welcome")
    public String welcome() {
        return "welcome";
    }

    @RequestMapping("/login")
    public String login(Model model, WxbMemeber wxbMemeber) {

        UsernamePasswordToken token = new UsernamePasswordToken(wxbMemeber.getAccount(),wxbMemeber.getPassword());
        try {
            SecurityUtils.getSubject().login(token);//这一行操作成功，则表示用户登录成功


            //这里来查询首页需要展示的菜单列表
//            String userId = "23946448";

            WxbMemeber wxbMemeber1 = (WxbMemeber) SecurityUtils.getSubject().getPrincipal();
            //1.根据当前登录的用户的用户ID查询当前用户能看到的菜单列表
//            List<SysModule> moduleList = sysModuleService.findModuleListByUserId(userInfo1.getUserId());
//            model.addAttribute("moduleList",moduleList);//将查询的菜单列表返回给界面
            return "index";
        } catch (Exception e) {
            return "redirect:/welcome";
        }


    }


    @RequestMapping("/logout")
    public String logout() {
        SecurityUtils.getSubject().logout();
        //退出操作成功后，做了重定向的操作访问是一个 完全不存在的请求。
        return "redirect:/welcome";//这个重定向的请求可以写任何url，但是不能写被shiro进行了anon的请求
    }
}
